import 'package:demo/theme/app_colors.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';

import '../../theme/app_text_theme.dart';
import '../global.dart';
import '../routes/app_pages.dart';

/// 人脸弹窗，协议
class DialogFaceAgreement extends StatelessWidget {
  final Callback callback;

  const DialogFaceAgreement(this.callback ,{super.key});

  @override
  Widget build(BuildContext context) {
    double bottomPadding = MediaQuery.of(context).padding.bottom;
    return Container(
      padding: EdgeInsets.only(left: 15.w,right: 15.w, top: 12.w,bottom: 12.w+bottomPadding),
      decoration: BoxDecoration(
       color: Color_white,
       borderRadius: BorderRadius.vertical(top: Radius.circular(8.w)),
     ),
      child: Column(
       crossAxisAlignment : CrossAxisAlignment.end,
       children: [
         SizedBox(height: 25.w),
         InkWell(
             onTap: ()=> Get.back(),
             child: Image.asset('assets/images/ic_close.png',width: 15.w,height: 15.w)),
         Center(child: Text('关于收集人脸信息的特别提示',style: text_131732_16b)),
         Expanded(child: SingleChildScrollView(
             child: RichText(
               text: TextSpan(
                 style: text_131732_12,
                 children: [
                   TextSpan(text: '\n尊敬的用户您好，\n\n鉴于您即将使用【${Global.APP_NAME}APP】的【人脸识别】功能，我们即将收集您的'),
                   TextSpan(text: "人脸信息", style: text_main_12b),
                   const TextSpan(text: '，为了保障您的人格权益，我们特别提示如下：\n\n'),
                   const TextSpan(text: '1. 本次收集（处理）的目的为【验证用户身份的真实性】，收集方式为【通过开启相机权限进行实时拍照】，范围为【相机对应的全部范围】，处理方式为【向下文所述第三方传输，以获取您身份信息的相关验证和反馈】。\n\n'),
                   const TextSpan(text: '本次收集后，我们将通过 SDK 的方式向第三方【北京百度网讯科技有限公司】进行传输，对应第三方的隐私政策为：'),
                   TextSpan(text: '《人脸安全采集SDK》', style: text_main_12b,recognizer: TapGestureRecognizer()..onTap = () {
                     var map = {
                       'title': '人脸采集协议',
                       'url': 'https://ai.baidu.com/ai-doc/REFERENCE/Vkdygjliz',
                     };
                     Get.toNamed(Routes.H5_WEBVIEW, parameters: map);
                   }),
                   const TextSpan(text: '。\n\n'),
                   TextSpan(text: '2. 本次收集的授权，仅为',style: text_131732_12b),
                   TextSpan(text: "单次", style: text_main_12b),
                   TextSpan(text: '授权。在本次收集您的信息后，我们将第一时间传输给上述第三方；同时，我们将加密储存在【本地】，并将严格采取应有的技术措施或者其他必要措施确保人脸信息的安全，防止人脸信息泄露、篡改、丢失。【第三方承诺在验证后也不再存储、使用、加工、传输、提供、公开等您的人脸信息】。如果再次需要您的人脸信息，我们将再单独取得您的授权。\n\n\n',style: text_131732_12b),
                   const TextSpan(text: '3. 如果您不同意上述授权，您可以点击拒绝，我们将通过其他方式验证您的个人身份，不会拒绝向您提供服务，但是可能无法充分验证您身份信息的真实性，影响相关功能的使用。\n'),
                 ],
               ),
             )
         )),
         SizedBox(height: 15.w),
         Row(children: [
           RawMaterialButton(
             fillColor:const Color(0xffE9F7FE),
             elevation: 0,
             shape : RoundedRectangleBorder(borderRadius : BorderRadius.all(Radius.circular(20.w))),
             constraints: BoxConstraints.tightFor(width: (Get.width - 45.w)/2, height: 40.w),
             child: Text('拒绝',style: text_main_16),
             onPressed: ()=> Get.toNamed(Routes.PRODUCT_LIST,arguments: {'isLoadAll' : true}),
           ),
           SizedBox(width: 15.w),
           RawMaterialButton(
             elevation: 0,
             fillColor:Color_main,
             shape : RoundedRectangleBorder(borderRadius : BorderRadius.all(Radius.circular(20.w))),
             constraints: BoxConstraints.tightFor(width: (Get.width - 45.w)/2, height: 40.w),
             child: Text('同意',style: text_white_16),
             onPressed: ()=> callback(),
           ),
         ]),
       ],),
   );
  }
}

typedef Callback = void Function();